Overhead reduction and address and protection in communication stack

ABSTRACT

The invention reduces addressing overhead for communication using a layered communication protocol. An improvement of the invention maintains security for the addressing information.

The invention relates to a transmitting method of transmitting datausing a layered communication model, comprising the steps of generatingat a first layer a first communication fragment comprising a firstaddress reference referring to a first entity, generating at a secondlayer below the first layer a second communication fragment based on thefirst communication fragment and further comprising a second addressreference referring to a second entity which is related to the firstentity, and transmitting data comprising the second communicationfragment.

The invention also relates to a receiving method of receiving data usinga layered communication model, comprising the step of receiving datacomprising a second communication fragment, the second communicationfragment comprising a second address reference referring to a secondentity which is related to a first entity, being based on a firstcommunication fragment comprising a first address reference to the firstentity, and retrieving the first communication fragment from the secondcommunication fragment.

The invention further relates to a system for communication using alayered communication model, the system comprising transmitter meansbeing arranged to generate at a first layer a first communicationfragment comprising a first address reference referring to a firstentity, and further being arranged to generate at a second layer belowthe first layer a second communication fragment based on the firstcommunication fragment and further comprising a second address referencereferring to a second entity which is related to the first entity,communication means being arranged to transmit data comprising thesecond communication fragment, and receiving means being arranged toreceive data comprising the second communication fragment, and furtherbeing arranged to retrieve the first communication fragment from thesecond communication fragment.

The invention further relates to a transmitter device for transmittingdata using a layered communication model, the transmitter device beingarranged to generate at a first layer a first communication fragmentcomprising a first address reference referring to a first entity,further being arranged to generate at a second layer below the firstlayer a second communication fragment based on the first communicationfragment and further comprising a second address reference referring toa second entity which is related to the first entity, and further beingarranged to transmit data comprising the second communication fragment.

The invention also relates to a receiver device for receiving data usinga layered communication model, the receiver device being arranged toreceive data comprising a second communication fragment, the secondcommunication fragment comprising a second address reference referringto a second entity which is related to a first entity, being based on afirst communication fragment comprising a first address reference to thefirst entity, and further being arranged to retrieve the firstcommunication fragment from the second communication fragment.

The invention further relates to a signal for carrying data generatedaccording to a layered communication model, the data being generatedaccording to a layered communication model comprising a first layer inwhich a first communication fragment comprising a first addressreference referring to a first entity is generated, and a second layerbelow the first layer in which a second communication fragmentcomprising a second address reference referring to a second entityrelated to the first entity and based on the first communicationfragment is generated.

The invention further relates to a transmitter computer program productto implement communication using a layered communication model, thetransmitter computer program product being arranged to generate at afirst layer a first communication fragment comprising a first addressreference referring to a first entity, further being arranged togenerate at a second layer below the first layer a second communicationfragment based on the first communication fragment and furthercomprising a second address reference referring to a second entity whichis related to the first entity, and further being arranged to transmitdata comprising the second communication fragment.

The invention also relates to a receiver computer program product toimplement communication using a layered communication model, thereceiver computer program product being arranged to receive datacomprising a second communication fragment, the second communicationfragment comprising a second address reference referring to a secondentity which is related to a first entity, being based on a firstcommunication fragment comprising a first address reference to the firstentity, and further being arranged to retrieve the first communicationfragment from the second communication fragment, a first layer in whicha first communication fragment comprising a first address referencereferring to a first entity is generated, and a second layer below thefirst layer in which a second communication fragment comprising a secondaddress reference referring to a second entity related to the firstentity and based on the first communication fragment is generated.

In communication protocols, it is common to use a layered model such asthe OSI reference model. Such a model comprises a set of layers, eachlayer at a different abstraction level. Such a model may include frombottom to top: the physical layer (PHY), the medium access control layer(MAC), the network layer (NWK) and the application layer (APL). Ingeneral, a frame (a fragment of information exchanged between equal OSIlayers on different devices) consists of a header and a payload. One ormore frames at level n in the OSI stack are physically sent as thepayload of one or several frames at the next lower layer n−1. The lowestlevel implements the physical communication, for example via a wired orwireless connection. In a general setting a single device might have adifferent address on the different layers of the OSI stack. Frames atdifferent levels typically include each a source address, destinationaddress, and sometimes hop address. This results in much overhead in thephysical frame, which is transmitted at the lowest level, due to themultiple inclusion of address information. This presents the problem oftoo much overhead in constrained applications, such as communicationprotocols with a limited physical frame length, or in low-powerapplications.

It is an object of the current invention to provide a transmittingmethod, in which the size of the physical frame is reduced whilesubstantially maintaining the contained information.

This object is realized by a transmitting method according to theinvention that is characterized in that the transmitting method furthercomprises the step of removing at least partly the first addressreference in the transmitted data.

An embodiment of the method according to the invention is described inclaim 2. This embodiment addresses the protection of the firstcommunication fragment of which the first address reference is omitted.A certain layer wanting to cryptographically protect its frames mightgenerate a Message Integrity Code (MIC) for each frame. A MIC on anarbitrary string can be generated by using, for example, a block cipherin CBC-MAC mode (see Alfred J. Menezes, Paul C. van Oorschot, Scott A.Vanstone, Handbook of Applied Cryptography, p 353). In the case of frameprotection, the input to the CBC-MAC will be the frame to be protected,possibly prefixed by a number indicating the length of the frame. Afterthe MIC is determined it will be added to the frame payload before theframe is sent.

In some (constrained) implementations a lower layer assumes that amessage that was initiated by a higher layer is also cryptographicallyprotected by that higher layer and hence the lower layer will notperform any cryptographic operations on this message.

Using this approach based on the paradigm “the layer where the messageis initiated takes care of cryptographic protection”, the cryptographicoverhead is reduced to a most one MIC per physical message. But thismeans that, in the example above, the higher layer cannot rely on thelower layer for cryptographic protection of the address reference thathas been omitted in the higher layer and now only appears in the lowerlayer.

In this embodiment, the cryptographic protection of the first addressreference is provided by computing a MIC before omitting the firstaddress reference. As the duplicated information is no longer availablein the higher layer, it is still included in the MIC and thereforeprotected. This embodiment therefore has the advantage that it maintainsthe cryptographic protection to include the address reference that hasbeen omitted.

An embodiment of the method according to the invention is described inclaim 3. This embodiment has the advantage that only at one level in thecommunication layer cryptographic protection is added, which reduces theoverhead.

An embodiment of the method according to the invention is described inclaim 4. This embodiment has the advantage that in an application wereeach message is typically short enough to fit in one frame (i.e. at eachlevel the message is smaller than the maximum allowed payload), theoverhead of adding a MIC is minimized by performing the operation at thehighest level possible, which is the initiating level.

An embodiment of the method according to the invention is described inclaim 5. The duplicated information to be omitted is replaced by ashorter field indicating where the omitting data can be found.

It is a further object of the current invention to provide a receivingmethod, in which the size of the physical frame is reduced whilesubstantially maintaining the contained information.

This object is realized by a receiving method according to the inventionthat is characterized in that the first address reference is at leastpartly omitted in the received data, and the receiving method furthercomprises the step of restoring the first address reference inretrieving the first communication fragment.

Further embodiments of the receiving method according to the inventionare described in claim 7, 8, 9, and 10. These embodiments arecomplementary to the embodiments described above.

The system according to the invention is characterized in that thetransmitter means is arranged to at least partly omit the first addressreference from the transmitted data, and the receiving means is arrangedto restore the first address reference in retrieving the firstcommunication fragment from the received data.

The transmitter device according to the invention is characterized inthat the transmitter device is further arranged to remove at leastpartly the first address reference in the transmitted data.

The receiver device according to the invention is characterized in thatthe first address reference is at least partly omitted in the receiveddata, and the receiver device is further arranged to restore the firstaddress reference in retrieving the first communication fragment.

The signal according to the invention is characterized in that thesignal carries the second communication fragment in which the firstaddress reference is at least partly omitted.

The transmitter computer program product according to the invention ischaracterized in that the transmitter computer program product isfurther arranged to omit the first address reference in the transmitteddata.

The receiver computer program product according to the invention ischaracterized in that the first address reference is at least partlyomitted in the received data, and the receiver computer program productis further arranged to restore the first address reference in retrievingthe first communication fragment

These and other aspects of the invention will be further described byway of example and with reference to the drawing, in which:

FIG. 1 illustrates an example layered communication model,

FIG. 2 shows a relation between a NWK frame and a MAC frame,

FIG. 3 shows the protection of frames using a MIC,

FIG. 4 shows that protection only at the initiating layer,

FIG. 5 shows the process of computing the MIC and omitting theduplicated data during frame generation,

FIG. 6 shows a communication in a multi-hop setting,

FIG. 7 shows the same communication using the invention,

FIG. 8 shows and other embodiment of the same multi hop communicationusing the invention,

FIG. 9 shows a recursive embodiment of the invention, and

FIG. 10 shows an embodiment of the invention with sub-addressing at ahigher layer.

Throughout the figures, same reference numerals indicate similar orcorresponding features. Some of the features indicated in the drawingsare typically implemented in software, and as such represent softwareentities, such as software modules or objects.

A first embodiment of the invention will be illustrated by the exampleshown in FIG. 1. FIG. 1 shows an example of a layered communicationmodel 100, comprising the physical layer (PHY) 101, the medium accesscontrol layer (MAC) 102, the network layer (NWK) 103 and the applicationlayer (APL) 104. Actual communication 105 takes place at the lowestlevel. In practice more layers can be used than shown here. Differentcommunication channels can be used, including optical, electronic, andwireless technologies.

FIG. 2 presents an example of the relation between two frames atadjacent layers in the OSI stack, namely a NWK frame and a MAC frame, ina multi-hop setting. A message in a multi-hop network, for exampleoriginating at the NWK layer, might be relayed by one or moreintermediate devices before arriving at its destination. Theintermediate devices will apply some routing algorithm in order todetermine to which device the message should be sent next. The addressof the next intermediate device is indicated by the NWK-HOP addresswhich is used by receiving devices to determine whether they are thenext hop and should send the message onward.

The NWK frame header contains an information field (NWK-INF) 201 thatgives information about, for example, the content of the rest of theframe. Further there is the NWK address of the device were the messageoriginated (NWK-SRC) 204, its final destination (NWK-DEST) 202 and apayload (NWK-PAYLOAD) 205. In a multi-hop setting it will also containthe NWK address of the next hop (NWK-HOP) 203 such that a receivingdevice can determine if it should process the frame or discard it. TheMAC layer will be used to send the NWK frame as payload (MAC-PAYLOAD214) from the current device to the next hop and hence it contains theMAC address of the current device (MAC-SRC) 213 and the MAC address ofthe next hop (MAC-DEST 212. In many cases the entries MAC-DEST andNWK-HOP will refer to the same physical device i.e. the addressinginformation is sent twice. In regular applications, addresses atdifferent layers referring to the same device appear several times in asingle physical frame. In the invention the duplicated address (in thisexample: NWK-HOP) entry is omitted from the NWK frame and the NWK layerrelies on the corresponding entry (MAC-DEST) in the MAC layer.

If a layer initiates a message or generates a frame that containsinformation (such as an address) that will be duplicated in a lowerlayer, either directly or through some invertible mapping such as anaddress table look-up, the higher layer will omit the duplicatedinformation and indicate in one of the fields (for example the NWK-INFfield) which information is omitted and optionally where it can beretrieved from. A simple embodiment of how to indicate this is to definebits that indicate if a certain entry is omitted. Referring to FIG. 2and assuming that at the NWK layer it is sometimes possible to omitNWK-DEST 202, NWK-HOP 203 and NWK-SRC 204, the NWK-INF 201 field wouldcontain three bits, each referring to one of the address entriesindicating which address entry is present (or omitted). Additional bitsor implicit rules can be used to determine which fields in the lowerlayer are to be used. The initiating layer at the receiving end willread the bits in the NWK-INF field and obtain omitted addresses from thelower layers, directly or using the inverted mapping which in many caseswill take the form of a table look-up.

Alternatively, instead of omitting a field, it could be replaced by ashorter field. This shorter field would then contain some kind ofpointer or reference indicator that would give information where theomitted information can be found. Again, it would be possible to use abit in for example the NWK-INF field to indicate whether a field hasbeen replaced.

Alternatively, instead of adding a bit field to the NWK-INF field, adifferent technology to indicate that the omitted field is replaced by ashort field can be used. If for example the valid value range of theomitted field is not used completely, but a reserved range starting witha special prefix is available, this special prefix could be used toindicate that the field has been replaced. Suppose that the field to beomitted is for rights, and has a valid value range of0x00000000-0xefffff, then the prefix 0xf . . . could be used to indicatethat the field has been replaced by a shorter field of for example only2 bytes. The value of this field should then be in accordance with theprefix and hence be limited to the range 0xf000-xffff.

The idea is especially of advantage in applications where the physicalframe size of messages is limited. A typical example of such anapplication is a system of low-cost and/or low-power wireless connecteddevices, such as sensors, home-security, building automation, remotemetering, toys, mice, key boards, etc. This method is even morebeneficial if the addresses used at the different OSI layers areidentical in which case no translation between addresses has to be done.

In a second embodiment of the invention, cryptographic protection ismaintained for the addresses which have been omitted.

FIG. 3 illustrates the situation that a certain layer, such as the NWKlayer, wants to cryptographically protect its frames by generating aMessage Integrity Code (MIC) for each frame including the addressinformation. In this case NWK-MIC 306 protects the complete NWK frame301.305 while MAC-MIC 315 protects the complete MAC frame 311.314including the NWK frame.

In an example system, a typical maximum size of a MAC frame could be 102bytes and the size of a MIC could be defined as 4, 8 or 16 bytes. Ifthere was a MIC at every layer of the OSI stack, there would be 12 to 48MIC bytes in a frame resulting in an overhead of approximately 10-50%,assuming that messages usually fit in a single frame.

In some (constrained) implementations a lower layer assumes that amessage that was initiated by a higher layer is also cryptographicallyprotected by that higher layer, this in order to reduce thecryptographic overhead such as sending additional MICs.

Using this approach based on the paradigm “the layer where the messageis initiated takes care of cryptographic protection”, there will be atmost one MIC per message as shown in FIG. 4 for a message originatingfrom the NWK layer. But this means that, in the example above, the NWKlayer cannot rely on the MAC layer for cryptographic protection ofNWK-HOP 403 (or, MAC-DEST 412).

However, the protected information should include the duplicatedinformation which is to be omitted during transfer.

If the layer initiating the message still wants to protect theduplicated information using a MIC, it generates the MIC over allrelevant information, including the duplicated information. After theMIC is computed, the duplicated information is removed from the frameand translated by an invertible mapping (for example a table look-up) tocorresponding information at lower layers. When receiving the frame, theappropriate information from the lower layers is retrieved andtranslated to the appropriate information at the initiating layer byusing the inverted mapping. This information is inserted into the frameat the appropriate place after which the MIC is verified.

As illustrated in FIG. 5, the NWK layer will compute the MIC over thewhole frame 501 . . . 505, including NWK-HOP, in process step 550. Next,NWK-HOP is removed from the frame in process step 551, as symbolized bythe cross 507 and sent to the MAC layer to be used as or to betranslated into MAC-DEST. The receiving device's NWK layer translatesMAC-DEST to NWK-HOP and inserts NWK-HOP in the frame before checking theNWK-MIC.

If the address information is not only omitted but also replaced byother information, such as described above, this other information couldoptionally also be protected by having the MIC over both the omitted andthe replacement information.

This embodiment has the additional advantage that the cryptographicprotection of the omitted information is maintained.

FIG. 6 shows a message from M1 650 via M2 651 to M3 652 in a multi-hopsetting according to a traditional way of communication.

FIG. 7 shows a message from M1 650 via M2 651 to M3 652 in a multi-hopsetting according to an embodiment of the invention. It shows thatNWK-HOP is omitted by referring to MAC-DEST. The dashed lines andcrosses 711 . . . 712 indicate that the fields are actually omitted toreduce the frame size. An additional advantage of this embodiment isthat the NWK frame does not change on subsequent communications betweenhops, further possibly reducing processing overhead in the nodes.

An embodiment which achieves additional savings in frame size reductionis depicted in FIG. 8. In the first and last communication the fieldsNWK-SRC and NWK-DEST respectively are omitted too. At the cost ofsomewhat irregular processing, a further reduction of the communicationsize is obtained.

In a different embodiment the invention is applied recursively. FIG. 9shows how fields in the application layer may refer to fields in thenetwork layer, while these fields are possibly also omitted because theyrefer to fields at yet a lower layer.

In a further embodiment the addressing is not the same at each level. Weshow an example where the NWK layer uses the addresses of devices, butthe APL layer addresses applications within these devices, for exampleby appending five bits to the device address 1001,1003. These bitsspecify one of the 32 applications within the addressed device. In thisembodiment the address at the APL layer cannot be omitted completely, asthese five bits are not available at a lower level. Only the prefixes ofthe fields 1001,1003 are duplicated at a lower layer. Therefore thefields 1010,1011 are not omitted but are replaced by shorter fields1002,1004 as shown in FIG. 10.

Alternatives are possible. In the description above, “comprising” doesnot exclude other elements or steps, “a” or “an” does not exclude aplurality, and a single processor or other unit may also fulfill thefunctions of several means recited in the claims. Actual communicationincludes the actual communication between different devices or parts ofa device, by means of optical, electronic, wireless, microwave, or anyother suitable technology, or even communication between softwarecomponents within a processing system or between processing systems.

1. A transmitting method of transmitting data using a layeredcommunication model, comprising the steps of generating at a first layera first communication fragment comprising a first address referencereferring to a first entity, generating at a second layer below thefirst layer a second communication fragment based on the firstcommunication fragment and further comprising a second address referencereferring to a second entity which is related to the first entity,transmitting data comprising the second communication fragment,characterized in that the transmitting method further comprises the stepof removing at least partly the first address reference in thetransmitted data.
 2. The transmitting method according to claim 1,wherein cryptographic protection is provided for the first communicationfragment before the first address reference is at least partly removed.3. The transmitting method according to claim 2, wherein cryptographicprotection is provided only at a single layer in the communicationmodel.
 4. The transmitting method according to claim 3, wherein thesingle layer equals the layer where the message was initiated.
 5. Thetransmitting method according to claim 1, wherein the first addressreference is replaced by an information field referring to the secondaddress reference.
 6. A receiving method of receiving data using alayered communication model, comprising the step of receiving datacomprising a second communication fragment, the second communicationfragment comprising a second address reference referring to a secondentity which is related to a first entity, being based on a firstcommunication fragment comprising a first address reference to the firstentity, and retrieving the first communication fragment from the secondcommunication fragment, characterized in that the first addressreference is at least partly omitted in the received data, and thereceiving method further comprises the step of restoring the firstaddress reference in retrieving the first communication fragment.
 7. Thereceiving method according to claim 6, wherein cryptographic protectionof the first communication fragment is verified after the first addressreference is retrieved.
 8. The receiving method according to claim 7,wherein cryptographic protection is provided only at a single layer inthe communication model.
 9. The receiving method according to claim 8,wherein the single layer equals the layer where the message wasinitiated.
 10. The receiving method according to claim 6, wherein thereceiving method retrieves the first address reference using aninformation field in the received data which replaces the first addressreference and refers to the second address reference.
 11. System forcommunication using a layered communication model, the system comprisingtransmitter means being arranged to generate at a first layer a firstcommunication fragment comprising a first address reference referring toa first entity, and further being arranged to generate at a second layerbelow the first layer a second communication fragment based on the firstcommunication fragment and further comprising a second address referencereferring to a second entity which is related to the first entity,communication means being arranged to transmit data comprising thesecond communication fragment, and receiving means being arranged toreceive data comprising the second communication fragment, and furtherbeing arranged to retrieve the first communication fragment from thesecond communication fragment, characterized in that the transmittermeans is arranged to at least partly omit the first address referencefrom the transmitted data, and the receiving means is arranged torestore the first address reference in retrieving the firstcommunication fragment from the received data.
 12. A transmitter devicefor transmitting data using a layered communication model, thetransmitter device being arranged to generate at a first layer a firstcommunication fragment comprising a first address reference referring toa first entity, further being arranged to generate at a second layerbelow the first layer a second communication fragment based on the firstcommunication fragment and further comprising a second address referencereferring to a second entity which is related to the first entity,further being arranged to transmit data comprising the secondcommunication fragment, characterized in that the transmitter device isfurther arranged to remove at least partly the first address referencein the transmitted data.
 13. A receiver device for receiving data usinga layered communication model, the receiver device being arranged toreceive data comprising a second communication fragment, the secondcommunication fragment comprising a second address reference referringto a second entity which is related to a first entity, being based on afirst communication fragment comprising a first address reference to thefirst entity, and further being arranged to retrieve the firstcommunication fragment from the second communication fragment,characterized in that the first address reference is at least partlyomitted in the received data, and the receiver device is furtherarranged to restore the first address reference in retrieving the firstcommunication fragment.
 14. A signal for carrying data generatedaccording to a layered communication model, the data being generatedaccording to a layered communication model comprising a first layer inwhich a first communication fragment comprising a first addressreference referring to a first entity is generated, a second layer belowthe first layer in which a second communication fragment comprising asecond address reference referring to a second entity related to thefirst entity and based on the first communication fragment is generated,characterized in that the signal carries the second communicationfragment in which the first address reference is at least partlyomitted.
 15. A transmitter computer program product to implementcommunication using a layered communication model, the transmittercomputer program product being arranged to generate at a first layer afirst communication fragment comprising a first address referencereferring to a first entity, further being arranged to generate at asecond layer below the first layer a second communication fragment basedon the first communication fragment and further comprising a secondaddress reference referring to a second entity which is related to thefirst entity, further being arranged to transmit data comprising thesecond communication fragment, characterized in that the transmittercomputer program product is further arranged to omit the first addressreference in the transmitted data.
 16. A receiver computer programproduct to implement communication using a layered communication model,the receiver computer program product being arranged to receive datacomprising a second communication fragment, the second communicationfragment comprising a second address reference referring to a secondentity which is related to a first entity, being based on a firstcommunication fragment comprising a first address reference to the firstentity, and further being arranged to retrieve the first communicationfragment from the second communication fragment, a first layer in whicha first communication fragment comprising a first address referencereferring to a first entity is generated, a second layer below the firstlayer in which a second communication fragment comprising a secondaddress reference referring to a second entity related to the firstentity and based on the first communication fragment is generated,characterized in that the first address reference is at least partlyomitted in the received data, and the receiver computer program productis further arranged to restore the first address reference in retrievingthe first communication fragment.